﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BMWKT
{
	public partial class AboutProgram : Form
	{
		public AboutProgram()
		{
			InitializeComponent();
			GetAssemblyInformation();
		}

		private void GetAssemblyInformation()
		{
			// 获取当前程序集信息
			Assembly assembly = Assembly.GetExecutingAssembly();

			// 使用 StringBuilder 来拼接信息
			StringBuilder info = new StringBuilder();

			// 程序集名称
			info.AppendLine($"程序名称: {assembly.GetName().Name}\n");

			// 版本号
			info.AppendLine($"程序版本: {assembly.GetName().Version}\n");

			// 程序集的完整路径
			info.AppendLine($"程序位置: {assembly.Location}\n");

			// 构建日期（这里是从文件创建时间提取的）
			var fileInfo = new System.IO.FileInfo(assembly.Location);
			info.AppendLine($"构建日期: {fileInfo.CreationTime} \n");

			// 公司信息
			var companyAttr = assembly.GetCustomAttribute<AssemblyCompanyAttribute>();
			if (companyAttr != null)
			{
				info.AppendLine($"公司: {companyAttr.Company}\n");
			}

			// 产品名称
			var productAttr = assembly.GetCustomAttribute<AssemblyProductAttribute>();
			if (productAttr != null)
			{
				info.AppendLine($"产品: {productAttr.Product} \n");
			}

			// 文件版本
			var fileVersionAttr = assembly.GetCustomAttribute<AssemblyFileVersionAttribute>();
			if (fileVersionAttr != null)
			{
				info.AppendLine($"文件版本: {fileVersionAttr.Version}\n");
			}

			// 描述信息
			var descriptionAttr = assembly.GetCustomAttribute<AssemblyDescriptionAttribute>();
			if (descriptionAttr != null)
			{
				info.AppendLine($"描述: {descriptionAttr.Description}");
			}

			// 将拼接好的信息更新到 label1.Text
			label1.Text = info.ToString();
		}

	}
}
